1. Field of the Invention
The present invention generally relates to digital circuits. More particularly, the present invention relates to the field of circuits that provide a MAC (multiply accumulate) operation and provide a multiply operation without interfering with an accumulate value of the MAC operation.
2. Related Art
Microcontrollers (or controllers) have been utilized in various applications for many years. Primarily, microcontrollers are used in control-oriented applications that are interrupt-driven, sensing and controlling external events. Microcontrollers are frequently found in: appliances (e.g., microwave oven, refrigerator, television, VCR, stereo), computers and computer equipment (e.g., laser printers, modems, disk drives), automobiles (e.g., engine control, diagnostics, climate control), environmental control (e.g., greenhouse, factory, home), aerospace, and thousands of other uses.
The technology environment for digital signal processing (DSP) is rapidly changing. DSP performance continues to increase at a fairly constant rate across the industry, and the complexity of peripherals is also expanding. The performance goal of a DSP architecture is to perform as many arithmetic operations as possible in the smallest number of clock cycles. But whereas DSP-centric applications have traditionally employed processors designed for DSP tasks, a complementary, and competing, technology has emerged. Microcontroller suppliers are offering DSP-specific functionality to their architectures. Some of these microcontrollers have a MAC (multiply accumulate) circuit. The MAC operation is a very common operation in (DSP) algorithms.
In a conventional MAC circuit, a multiply operation is performed to generate a product value. Then, an accumulate operation is performed to generate an accumulate value based on the product value and a previous accumulate value. Typically, the conventional MAC circuit is unable to perform the multiply operation and disable the accumulate operation to avoid disturbing or interfering with the previous accumulate value.